package cn.sdormitory.smartclass.service;

import cn.sdormitory.common.api.CommonPage;
import cn.sdormitory.smartclass.entity.AdClassDv;
import cn.sdormitory.smartclass.entity.ClassDv;
import cn.sdormitory.smartclass.vo.ClassDvAllExportVO;
import cn.sdormitory.smartclass.vo.ClassDvVo;

import java.util.List;
import java.util.Map;

/**
 * @创建人：zhouyang
 * @创建时间：2021/12/22 16:28
 * @version：V1.0
 */
public interface ClassDvService {
    int getAppClaStuDvCount(Long classId, String dvDate, String timeSlot);
    List<ClassDvVo> getAppClaStuDvByClaIdAndSlot(Long classId, String dvDate, String timeSlot);
    List<ClassDvVo> getAppClaStuByClaId(Long classId);
    int updateClaDvStatus(String studentNo, String dvDate, String dvType, String timeSlot);
    void addClassDvs(List<ClassDv> classDvs);
    int addClassDv(AdClassDv adClassDv);
    int createInstructorRecordDv(AdClassDv adClassDv);
    List<ClassDvVo> getDvHistoryByUserName(String userName);
    ClassDvVo getDvDetailById(String id);
    CommonPage<ClassDvVo> getPage(Map<String, Object> params);

    int updatePunishStatus(ClassDvVo vo);

    List<ClassDvAllExportVO> exportDvData(Map<String, Object> params);

    int countByViolationPatrolId(Long violationPatrolId);

    List<ClassDv> getClassDvsByViolationPatrolId(Long violationPatrolId);

    boolean existById(Long dvId);

    void deleteById(Long dvId);
}
